package pe.gob.servir.apps.censodirectivo.ejb.service;

import java.util.List;

import javax.ejb.Local;

import pe.gob.servir.apps.censodirectivo.excepcion.ServiceExcepcion;
import pe.gob.servir.apps.censodirectivo.model.bean.BusquedaResponsable;
import pe.gob.servir.apps.censodirectivo.model.bean.MensajeRespuesta;
import pe.gob.servir.apps.censodirectivo.model.bean.Responsable;

@Local
public interface ResponsableServiceLocal {

	void eliminar(Responsable responsable);

	Responsable obtenerPorId(Long id) throws ServiceExcepcion ;

	List<Responsable> filtrarListaResponsable(BusquedaResponsable busquedaResponsable) throws ServiceExcepcion;
	
	MensajeRespuesta habilitarResponsables(Responsable responsable, BusquedaResponsable busquedaResponsable) throws ServiceExcepcion;
	
	MensajeRespuesta activarInactivarResponsable(long idResponsable, String tipo) throws ServiceExcepcion;
	
	List<Responsable> validarCargaResponsable(String idCarga, String usuario) throws ServiceExcepcion;

	MensajeRespuesta registrarCargaMasiva(String cargarId, List<Responsable> listaResponsables) throws ServiceExcepcion;

	List<Responsable> listarResponsablesError(String cargaId , String usuario, long personaId) throws ServiceExcepcion;
	
	MensajeRespuesta grabarResponsable(Responsable responsable) throws ServiceExcepcion;
	
	MensajeRespuesta ampliarRegistroDirectivo(Responsable responsable, BusquedaResponsable busquedaResponsable, String tipoAmpliacion) throws ServiceExcepcion;

	List<Responsable> buscarReponsableEntidadCenso(Integer censoId,
			Integer entidadId) throws ServiceExcepcion;

	MensajeRespuesta actualizaResponsable(Responsable responsable)
			throws ServiceExcepcion;

}
